package com.yht.redbook.note.biz.service;

import com.yht.framework.common.response.Response;
import com.yht.redbook.note.biz.model.vo.*;

public interface NoteService {
    Response<?> publishNote(PublishNoteReqVO publishNoteReqVO);

    Response<FindNoteDetailRspVO> findNoteDetail(FindNoteDetailReqVO findNoteDetailReqVO);

    Response<?> updateNote(UpdateNoteReqVO updateNoteReqVO);

    Response<?> deleteNoteById(DeleteNoteReqVO deleteNoteReqVO);

    Response<?> UpdateNoteVisibleOnlyMe(UpdateNoteVisibleOnlyMeReqVO updateNoteVisibleOnlyMeReqVO);

    /**
     * 删除本地缓存
     *
     * @param noteId
     */
    void deleteNoteLocalCache(Long noteId);

    Response<?> likeNote(LikeNoteReqVO likeNoteReqVO);

    Response<?> unLikeNote(UnLikeNoteReqVO unLikeNoteReqVO);

    Response<?> collectNote(CollectNoteReqVO collectNoteReqVO);

    Response<?> unCollectNote(UnCollectNoteReqVO unCollectNoteReqVO);
}
